
var http = require("http");
var https = require("https");
var path = require("path");
var fsp = require("fs/promises");

// console.log(http);

const hostname = "localhost";
const port = "3000";

// http 的 createServer() 方法创建一个新的 HTTP 服务器并返回它。
// createServer() 可以接受一个回调函数, 每当服务器接收到来自客户端的请求时都会执行一次
// 回调函数中有两个参数(形参) request response
// request(对象) 接收客户端传递的信息
// response(对象) 配置服务端响应的相关信息

var site = path.join(__dirname, "../site");  // 配置站点路径

var server = http.createServer(async function (req, res) {
    console.log("接收到来自客户端的请求");

    // 当前页面只会展示首页 => 无论地址栏输入什么内容  localhost:3000/xxx  => 期望对应路径名称展示

    // 展示index.html  
    var con = await fsp.readFile(path.join(site, "/index.html"), "utf-8");
    // console.log(con);

    res.writeHead(200, {
        "Content-Type": "text/html;charset=utf-8",
    })
    res.write(con);
    res.end();  // 请求处理结束,返回响应的结果 (并关闭响应)   => res.end() 不建议重复调用
});


// 服务器设置为监听指定的端口和主机名。 当服务器就绪时，回调函数被调用，在这种情况下通知我们服务器正在运行。
server.listen(port, hostname, function () {
    console.log("服务器启动成功=> http://localhost:3000");
})

